In the field of distributed computer systems, resources are made available for use by computer applications. Computer applications may require different computer resource types, such as CPU, memory, network, and data storage. Resources from multiple computer systems may be aggregated into one or more resource pools. Resource requests may include multiple resource types.
Computer systems are often virtualized. This functionality can be achieved with various different hardware and software elements that allow a computer system to run multiple instances of software to efficiently utilize the computer systems. Computer system virtualization is often provided by vendors as a service to allow the running of computer application on computer systems managed by a vendor. A computer system that has been virtualized is often referred to as a virtual machine or VM. The term virtual machine or VM can be used interchangeably with the term computer system.
In a computer system, a computer application will persist data that needs to be stored for future retrieval in a data storage system. The data that needs to be stored will be organized into files and databases.
Files and databases can be grouped into logical representations known as volumes of data. Volumes of data can contain one or more files or databases. In a volume of data, typically, the smallest logical unit of storage is a data block, which typically is up to a few thousand bytes of data. A data block is the unit of data that is persisted to a storage system for future retrieval.
A storage system processes data blocks in groups known as volumes of data. A volume of data may also be referred to as a virtual disk, as when a storage system presents the volume of data to a computer application, the volume of data has the attributes and behavior of a disk device. A volume of data is a logical representation of a number of data blocks that are concatenated to form a larger set of data than can be stored as a group of data blocks. Typically, a storage system treats the volume of data as a single atomic unit.